3 Visualizando datos en formato vector y raster en R

En R existe una variedad de paquetes que te puedn ayudar a vizualizar y tabajar con datos espaciales, en el presente capítulo analizaremos los paquetes sf para manejo de datos espaciales y raster para manejos raster, y su vizualización básica con la función plot.

3.1 Instalación de paquetes

Los paquetes sf y raster se encuentra en el repositorio oficial de R: el paquete sf que se utiliza para manejar simples features, una forma estandarizada para utilizar datos/objetos del tipo vector, utiliza los estandares GDAL para lectura y escritura de datos, GEOS geométricas y PROJ para proyecciones y transformación de datos; el paquete raster permite la lectura, esccritura admás de poder realizar análisi y modelados en datos cuadriculaos (imágenes raster).

Para instalación de paquete oficiales o que se encuentren dentro del repositorio oficial se utiliza la función install.packages().

3.2 Cargar archivos vectoriales y su visualización

Los archivos vectoriales uno de los mas utilizados son los archivos en formato .shp, que son archivos de ESRI, los modelos vectoriales almacenan 3 tipos de fromas geemétricas que son: punto, linea y poligono. En R existen diversas formas de abrir este tipo archivos, se puede utilizar otros paquetes como ser rgdal o sp.

En el paquete sf la funcion st_read() permite la lectura de este tipos de archivos solo hay que colocar la ruta de nuestro archivo.

## [1] "../recursos/shps/aeropuertos_bolivia.shp"  
## [2] "../recursos/shps/Departamentos_Bolivia.shp"
## [3] "../recursos/shps/DUCTOS.shp"               
## [4] "../recursos/shps/POBLACIONES.shp"
## Reading layer `Departamentos_Bolivia' from data source `D:\VC2019\TRABAJO\UMSA\geografia\curso\curso_r_espacial\recursos\shps\Departamentos_Bolivia.shp' using driver `ESRI Shapefile'
## Simple feature collection with 14 features and 6 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: -69.64483 ymin: -22.90657 xmax: -57.45443 ymax: -9.669633
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs
## Reading layer `DUCTOS' from data source `D:\VC2019\TRABAJO\UMSA\geografia\curso\curso_r_espacial\recursos\shps\DUCTOS.shp' using driver `ESRI Shapefile'
## Simple feature collection with 102 features and 25 fields
## geometry type:  LINESTRING
## dimension:      XYZ
## bbox:           xmin: -70.32087 ymin: -22.03772 xmax: -57.74886 ymax: -16.30326
## epsg (SRID):    NA
## proj4string:    +proj=longlat +ellps=intl +no_defs
## Reading layer `POBLACIONES' from data source `D:\VC2019\TRABAJO\UMSA\geografia\curso\curso_r_espacial\recursos\shps\POBLACIONES.shp' using driver `ESRI Shapefile'
## Simple feature collection with 23891 features and 14 fields
## geometry type:  POINT
## dimension:      XY
## bbox:           xmin: -69.60421 ymin: -22.85162 xmax: -57.56432 ymax: -9.678153
## epsg (SRID):    4326
## proj4string:    +proj=longlat +datum=WGS84 +no_defs

Se carga un objeto que contiene información geográfica como ser: el tipo de vector, la extension geográfica y en que proyeccion esta. Además se carga todos los datos adjuntos y se crea una columna llamadad geometry donde esta cargado la geometria que es donde esta ubicada espacialmente.

3.2.1 Cargar un archivo de texto con coordenadas

Cuando tenemos un archivo que contiene las coordenadas recogidas en algun trabajo en R se utiliza la funcion st_as_sf(), aca se debe definir un objeto que contenga las coordenadas (debe contener la longitud y latitud), para cargar nuestros datos como un data frame se utiliza la función read_csv() del paquete base de R.

##   id           nombre     ciudad    pais iata_faa iaco  latitude longitude
## 1  1          Bermejo    Bermejo Bolivia      BJO SLBJ -22.77334 -64.31288
## 2  2 Jorge Wilsterman Cochabamba Bolivia      CBB SLCB -17.42106 -66.17711
## 3  3          Chimore  Chapacura Bolivia          SLCH -16.99002 -65.14153
## 4  4  Heroes Del Acre     Cobija Bolivia      CIJ SLCO -11.04044 -68.78297
## 5  5     El Alto Intl     La Paz Bolivia      LPB SLLP -16.51334 -68.19226
## 6  6     Juan Mendoza      Oruro Bolivia          SLOR -17.96259 -67.07624
##   altitude zone dst
## 1     1250   -3   U
## 2     8360   -4   U
## 3     1000   -4   U
## 4      892   -4   U
## 5    13325   -4   U
## 6    12146   -4   U

###Visualizacion

Para visualizar utilizaremos la función plot que es la que esta por defecto en el R.

Con R facilmente podemos crear un mapa con la clasificación de un atributo de nuestro feature, para esto utilizamos los corchetes con el nombre del atributo.

##     gml_id             OBJECTID            ID          COD_DEP         
##  Length:14          Min.   :  1.00   Min.   :  0.0   Length:14         
##  Class :character   1st Qu.: 42.75   1st Qu.:174.2   Class :character  
##  Mode  :character   Median :143.00   Median :238.5   Mode  :character  
##                     Mean   :163.36   Mean   :276.9                     
##                     3rd Qu.:209.00   3rd Qu.:406.0                     
##                     Max.   :443.00   Max.   :479.0                     
##    NOM_DEP            DESCRIP                   geometry 
##  Length:14          Length:14          MULTIPOLYGON :14  
##  Class :character   Class :character   epsg:4326    : 0  
##  Mode  :character   Mode  :character   +proj=long...: 0  
##                                                          
##                                                          
## 

Exite varios parametros que nos pueden ser de utilidad para presentar mapas en R a continuacion detallamos algunos:

-col: permite definir la paleta de colores puede definirse por un número o colocar una paleta predefinida por el paquete principal como ser: rainbow, heat.colors, topo.colors, bpy.colors. -axes binario, por TRUE muestra los ejes. -add binario, por TRUE permite añadir un feature al mapa.

Existen más parametros que pueden ser visualizados en al ayuda de R para esto se puede usar ?plot y seleccionar la función plot del paquete sf.

Para añadir mas features en un solo mapa utilizaremos la funcion st_geometry dentro de plot para que nos muestre solo los objetos espaciales y no los discrimine por sus atributos.

3.3 Cargando imagenes Raster

Las imagenes raster vienen en varias tipo de formatos como ser .tif, .grd, .NFS y mchos otros. Para cargar un archivo utilizamos la funcion raster(), enviandole laruta donde se encuentra nuestra imagen raster, existen otros parametros como ser band que banda utilizaremos, layer que capa se cargara.

## class      : RasterLayer 
## band       : 1  (of  3  bands)
## dimensions : 531, 684, 363204  (nrow, ncol, ncell)
## resolution : 0.01098633, 0.01053534  (x, y)
## extent     : -64.58862, -57.07397, -20.32536, -14.7311  (xmin, xmax, ymin, ymax)
## crs        : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : D:/VC2019/TRABAJO/UMSA/geografia/curso/curso_r_espacial/recursos/raster/Santa_Cruz_2.tif 
## names      : Santa_Cruz_2 
## values     : 0, 255  (min, max)

Las imagenes raster son matrices que contienen celdas con valores númericos, podemos acceder a cualquier valor de nuestra imagen con los corchetes [filas, columna] indicando la posición en la matriz.

##    
## 53
##    
## 47

###Visualización de imagenes raster

Para visualizar nuestro objetos raster utilizamos la función plot.

Como se obserav nos muestra los resultados de la imagen en una escala de verde a rojo, muchas imagenes de satelite constan de 3 bandas por ejemplo la imagen que utilizamos se ve asi:

Image

La función que utilizamos carga la primera banda, si queremos cargar todas nuestras bandas podemos utilizar cargarla una por una y luego unirla en pila de rasters utilizando la funcion stack()

3.4 Introducción a visualizacion dinámica con leaflet

Leaflet es una de las librerias mas popularespara realizar mpaas interactivos, R ofrece un paquete que permite visualizar nuestro mapas de manera dinamica con leaflet aca solo se muestra un ejemple si quiere saber mas puede ver https://rstudio.github.io/leaflet/.